package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 访客信息对象 ykt_visitor_record
 * 
 * @author ruoyi
 * @date 2025-11-07
 */
public class YktVisitorRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 访客信息唯一标识 */
    private String id;

    /** 访客姓名，支持中英文字符，不含特殊符号 */
    @Excel(name = "访客姓名，支持中英文字符，不含特殊符号")
    private String visitorName;

    /** 性别（1：男；2：女） */
    @Excel(name = "性别", readConverterExp = "1=：男；2：女")
    private Integer gender;

    /** 证件类型，详见附录A.11 */
    @Excel(name = "证件类型，详见附录A.11")
    private Long certificateType;

    /** 证件号码 */
    @Excel(name = "证件号码")
    private String certificateNo;

    /** 访客联系电话 */
    @Excel(name = "访客联系电话")
    private String phoneNo;

    /** 访客车牌号 */
    @Excel(name = "访客车牌号")
    private String plateNo;

    /** 访客头像相对Uri */
    @Excel(name = "访客头像相对Uri")
    private String picUri;

    /** 与pic_uri配对的图片接口参数 */
    @Excel(name = "与pic_uri配对的图片接口参数")
    private String svrIndexCode;

    /** 访客状态（5：超期自动签离；6：已签离；7：超期未签离；8：已到达） */
    @Excel(name = "访客状态", readConverterExp = "5=：超期自动签离；6：已签离；7：超期未签离；8：已到达")
    private Integer visitorStatus;

    /** 访客验证码 */
    @Excel(name = "访客验证码")
    private String verificationCode;

    /** 访客名单分组ID */
    @Excel(name = "访客名单分组ID")
    private String visiorGroupId;

    /** 访客名单分组名称，不含特殊符号 */
    @Excel(name = "访客名单分组名称，不含特殊符号")
    private String visiorGroupName;

    /** 被访人唯一标识 */
    @Excel(name = "被访人唯一标识")
    private String receptionistId;

    /** 被访人姓名，不含特殊符号 */
    @Excel(name = "被访人姓名，不含特殊符号")
    private String receptionistName;

    /** 被访人组织编码 */
    @Excel(name = "被访人组织编码")
    private String receptionistCode;

    /** 来访事由，0~128字符 */
    @Excel(name = "来访事由，0~128字符")
    private String visitPurpose;

    /** 来访开始时间（ISO8601格式） */
    @Excel(name = "来访开始时间", readConverterExp = "I=SO8601格式")
    private Date visitStartTime;

    /** 来访结束时间（ISO8601格式） */
    @Excel(name = "来访结束时间", readConverterExp = "I=SO8601格式")
    private Date visitEndTime;

    /** 动态二维码内容 */
    @Excel(name = "动态二维码内容")
    private String qrCode;

    /** 证件地址，1~128位 */
    @Excel(name = "证件地址，1~128位")
    private String certAddr;

    /** 发证机关，1~32位 */
    @Excel(name = "发证机关，1~32位")
    private String certIssuer;

    /** 籍贯，1~32位 */
    @Excel(name = "籍贯，1~32位")
    private String birthplace;

    /** 来访单位，1~32位，不含特殊符号 */
    @Excel(name = "来访单位，1~32位，不含特殊符号")
    private String visitorWorkUnit;

    /** 访客登记ID（用于签离） */
    @Excel(name = "访客登记ID", readConverterExp = "用=于签离")
    private String orderId;

    /** 访客住址，1~128位 */
    @Excel(name = "访客住址，1~128位")
    private String visitorAddress;

    /** 来访人数（1~999） */
    @Excel(name = "来访人数", readConverterExp = "1=~999")
    private Long personNum;

    /** 预计来访时间（ISO8601格式） */
    @Excel(name = "预计来访时间", readConverterExp = "I=SO8601格式")
    private Date plannedStartTime;

    /** 预计离开时间（ISO8601格式，需晚于当前时间和预计来访时间） */
    @Excel(name = "预计离开时间", readConverterExp = "I=SO8601格式，需晚于当前时间和预计来访时间")
    private Date plannedEndTime;

    /** 权限下发指定的资源点集合（object数组） */
    @Excel(name = "权限下发指定的资源点集合", readConverterExp = "o=bject数组")
    private String designatedResources;

    /** 卡号 */
    @Excel(name = "卡号")
    private String cardNo;

    /** 当前访客记录关联的权限组集合（字符串数组） */
    @Excel(name = "当前访客记录关联的权限组集合", readConverterExp = "字=符串数组")
    private String privilegeGroupNames;

    /** 健康码校验结果（01：绿码；11：黄码；31：红码；21：查不到；41：无此人员；51：其他错误） */
    @Excel(name = "健康码校验结果", readConverterExp = "0=1：绿码；11：黄码；31：红码；21：查不到；41：无此人员；51：其他错误")
    private String healthCode;

    /** 园区编号 */
    @Excel(name = "园区编号")
    private String parkId;

    /** 访客体温 */
    @Excel(name = "访客体温")
    private String visitorTemperature;

    @Excel(name = "场所名称")
    private String csName;
    @Excel(name = "设备名称")
    private String sbName;
    @Excel(name = "部门名称")
    private String bmName;
    @Excel(name = "门名称")
    private String mName;

    @Excel(name = "进出时间")
    private String jcsj;

    public String getJcsj() {
        return jcsj;
    }

    public void setJcsj(String jcsj) {
        this.jcsj = jcsj;
    }





    public String getCsName() {
        return csName;
    }

    public void setCsName(String csName) {
        this.csName = csName;
    }

    public String getSbName() {
        return sbName;
    }

    public void setSbName(String sbName) {
        this.sbName = sbName;
    }

    public String getBmName() {
        return bmName;
    }

    public void setBmName(String bmName) {
        this.bmName = bmName;
    }

    public String getmName() {
        return mName;
    }

    public void setmName(String mName) {
        this.mName = mName;
    }

    public void setId(String id)
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }

    public void setVisitorName(String visitorName) 
    {
        this.visitorName = visitorName;
    }

    public String getVisitorName() 
    {
        return visitorName;
    }

    public void setGender(Integer gender) 
    {
        this.gender = gender;
    }

    public Integer getGender() 
    {
        return gender;
    }

    public void setCertificateType(Long certificateType) 
    {
        this.certificateType = certificateType;
    }

    public Long getCertificateType() 
    {
        return certificateType;
    }

    public void setCertificateNo(String certificateNo) 
    {
        this.certificateNo = certificateNo;
    }

    public String getCertificateNo() 
    {
        return certificateNo;
    }

    public void setPhoneNo(String phoneNo) 
    {
        this.phoneNo = phoneNo;
    }

    public String getPhoneNo() 
    {
        return phoneNo;
    }

    public void setPlateNo(String plateNo) 
    {
        this.plateNo = plateNo;
    }

    public String getPlateNo() 
    {
        return plateNo;
    }

    public void setPicUri(String picUri) 
    {
        this.picUri = picUri;
    }

    public String getPicUri() 
    {
        return picUri;
    }

    public void setSvrIndexCode(String svrIndexCode) 
    {
        this.svrIndexCode = svrIndexCode;
    }

    public String getSvrIndexCode() 
    {
        return svrIndexCode;
    }

    public void setVisitorStatus(Integer visitorStatus) 
    {
        this.visitorStatus = visitorStatus;
    }

    public Integer getVisitorStatus() 
    {
        return visitorStatus;
    }

    public void setVerificationCode(String verificationCode) 
    {
        this.verificationCode = verificationCode;
    }

    public String getVerificationCode() 
    {
        return verificationCode;
    }

    public void setVisiorGroupId(String visiorGroupId) 
    {
        this.visiorGroupId = visiorGroupId;
    }

    public String getVisiorGroupId() 
    {
        return visiorGroupId;
    }

    public void setVisiorGroupName(String visiorGroupName) 
    {
        this.visiorGroupName = visiorGroupName;
    }

    public String getVisiorGroupName() 
    {
        return visiorGroupName;
    }

    public void setReceptionistId(String receptionistId) 
    {
        this.receptionistId = receptionistId;
    }

    public String getReceptionistId() 
    {
        return receptionistId;
    }

    public void setReceptionistName(String receptionistName) 
    {
        this.receptionistName = receptionistName;
    }

    public String getReceptionistName() 
    {
        return receptionistName;
    }

    public void setReceptionistCode(String receptionistCode) 
    {
        this.receptionistCode = receptionistCode;
    }

    public String getReceptionistCode() 
    {
        return receptionistCode;
    }

    public void setVisitPurpose(String visitPurpose) 
    {
        this.visitPurpose = visitPurpose;
    }

    public String getVisitPurpose() 
    {
        return visitPurpose;
    }

    public void setVisitStartTime(Date visitStartTime) 
    {
        this.visitStartTime = visitStartTime;
    }

    public Date getVisitStartTime() 
    {
        return visitStartTime;
    }

    public void setVisitEndTime(Date visitEndTime) 
    {
        this.visitEndTime = visitEndTime;
    }

    public Date getVisitEndTime() 
    {
        return visitEndTime;
    }

    public void setQrCode(String qrCode) 
    {
        this.qrCode = qrCode;
    }

    public String getQrCode() 
    {
        return qrCode;
    }

    public void setCertAddr(String certAddr) 
    {
        this.certAddr = certAddr;
    }

    public String getCertAddr() 
    {
        return certAddr;
    }

    public void setCertIssuer(String certIssuer) 
    {
        this.certIssuer = certIssuer;
    }

    public String getCertIssuer() 
    {
        return certIssuer;
    }

    public void setBirthplace(String birthplace) 
    {
        this.birthplace = birthplace;
    }

    public String getBirthplace() 
    {
        return birthplace;
    }

    public void setVisitorWorkUnit(String visitorWorkUnit) 
    {
        this.visitorWorkUnit = visitorWorkUnit;
    }

    public String getVisitorWorkUnit() 
    {
        return visitorWorkUnit;
    }

    public void setOrderId(String orderId) 
    {
        this.orderId = orderId;
    }

    public String getOrderId() 
    {
        return orderId;
    }

    public void setVisitorAddress(String visitorAddress) 
    {
        this.visitorAddress = visitorAddress;
    }

    public String getVisitorAddress() 
    {
        return visitorAddress;
    }

    public void setPersonNum(Long personNum) 
    {
        this.personNum = personNum;
    }

    public Long getPersonNum() 
    {
        return personNum;
    }

    public void setPlannedStartTime(Date plannedStartTime) 
    {
        this.plannedStartTime = plannedStartTime;
    }

    public Date getPlannedStartTime() 
    {
        return plannedStartTime;
    }

    public void setPlannedEndTime(Date plannedEndTime) 
    {
        this.plannedEndTime = plannedEndTime;
    }

    public Date getPlannedEndTime() 
    {
        return plannedEndTime;
    }

    public void setDesignatedResources(String designatedResources) 
    {
        this.designatedResources = designatedResources;
    }

    public String getDesignatedResources() 
    {
        return designatedResources;
    }

    public void setCardNo(String cardNo) 
    {
        this.cardNo = cardNo;
    }

    public String getCardNo() 
    {
        return cardNo;
    }

    public void setPrivilegeGroupNames(String privilegeGroupNames) 
    {
        this.privilegeGroupNames = privilegeGroupNames;
    }

    public String getPrivilegeGroupNames() 
    {
        return privilegeGroupNames;
    }

    public void setHealthCode(String healthCode) 
    {
        this.healthCode = healthCode;
    }

    public String getHealthCode() 
    {
        return healthCode;
    }

    public void setParkId(String parkId) 
    {
        this.parkId = parkId;
    }

    public String getParkId() 
    {
        return parkId;
    }

    public void setVisitorTemperature(String visitorTemperature) 
    {
        this.visitorTemperature = visitorTemperature;
    }

    public String getVisitorTemperature() 
    {
        return visitorTemperature;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("visitorName", getVisitorName())
            .append("gender", getGender())
            .append("certificateType", getCertificateType())
            .append("certificateNo", getCertificateNo())
            .append("phoneNo", getPhoneNo())
            .append("plateNo", getPlateNo())
            .append("picUri", getPicUri())
            .append("svrIndexCode", getSvrIndexCode())
            .append("visitorStatus", getVisitorStatus())
            .append("verificationCode", getVerificationCode())
            .append("visiorGroupId", getVisiorGroupId())
            .append("visiorGroupName", getVisiorGroupName())
            .append("receptionistId", getReceptionistId())
            .append("receptionistName", getReceptionistName())
            .append("receptionistCode", getReceptionistCode())
            .append("visitPurpose", getVisitPurpose())
            .append("visitStartTime", getVisitStartTime())
            .append("visitEndTime", getVisitEndTime())
            .append("qrCode", getQrCode())
            .append("certAddr", getCertAddr())
            .append("certIssuer", getCertIssuer())
            .append("birthplace", getBirthplace())
            .append("visitorWorkUnit", getVisitorWorkUnit())
            .append("orderId", getOrderId())
            .append("visitorAddress", getVisitorAddress())
            .append("personNum", getPersonNum())
            .append("plannedStartTime", getPlannedStartTime())
            .append("plannedEndTime", getPlannedEndTime())
            .append("designatedResources", getDesignatedResources())
            .append("cardNo", getCardNo())
            .append("privilegeGroupNames", getPrivilegeGroupNames())
            .append("healthCode", getHealthCode())
            .append("parkId", getParkId())
            .append("updateTime", getUpdateTime())
            .append("visitorTemperature", getVisitorTemperature())
            .toString();
    }
}
